package com.example.demo.mapper;

import com.example.demo.pojo.KaoQin;
import org.apache.ibatis.annotations.Param;
import java.util.List;

/**
 * 考勤表(KaoQin)表数据库访问层
 *
 * @author 小虾米大侠
 * @since 2021-03-28 16:37:33
 * @version 1.0
 */
public interface KaoQinMapper {

    /**
     * 查询毕业预警
     * @return  返回所有数据
     */
    List<KaoQin> chaXunBiYeYuJing(@Param("leiXingId1") String leiXingId1,
                                  @Param("leiXingId2") String leiXingId2,
                                  @Param("lciShu") String lciShu,
                                  @Param("rciSHu") String rciSHu,
                                  @Param("llciShu") String llciShu,
                                  @Param("rrciSHu") String rrciSHu,
                                  @Param("lgeShu") String lgeShu,
                                  @Param("rgeShu") String rgeShu

                                  );

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */


    /**
     * 查询所有数据
     * @return  返回所有数据
     */
    List<KaoQin> chaXunAll();

    KaoQin chaXunById(@Param("id") Integer id);

    /**
     * 根据模糊条件查询总个数
     *
     * @return 返回查询到的总个数
     */
    int chaXunCount( @Param("weiGuiLeiXing")String weiGuiLeiXing,
                     @Param("xueShengXueHao")String xueShengXueHao,
                     @Param("xingMing")String xingMing,
                     @Param("lweiGuiShiJian")String lweiGuiShiJian,
                     @Param("rweiGuiShiJian")String rweiGuiShiJian);

    /**
     * 查询考勤的分页
     * @param xiaBiao
     * @param weiGuiLeiXing
     * @param xueShengXueHao
     * @param xingMing
     * @param lweiGuiShiJian
     * @param rweiGuiShiJian
     * @return
     */
    List<KaoQin> chaXunFenYe(@Param("xiaBiao") int xiaBiao,
                             @Param("weiGuiLeiXing")String weiGuiLeiXing,
                             @Param("xueShengXueHao")String xueShengXueHao,
                             @Param("xingMing")String xingMing,
                             @Param("lweiGuiShiJian")String lweiGuiShiJian,
                             @Param("rweiGuiShiJian")String rweiGuiShiJian);

    /**
     * 新增数据
     *
     * @param kaoQin 实例对象
     */
    void xinZeng(KaoQin kaoQin);

    /**
     * 修改数据
     *
     * @param kaoQin 实例对象
     * @return 影响行数
     */
    int gengXinById(KaoQin kaoQin);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 影响行数
     */
    int shanChuById(@Param("id") int[] id);

}